﻿// <copyright file="ServiceLocator.cs" company="Ucaya">
// </copyright>
// <author>Ucaya</author>

namespace Channel9Kinect.Services
{
    #region

    using System.ComponentModel.Composition.Hosting;

    #endregion

    /// <summary>
    ///   TODO: Update summary.
    /// </summary>
    public class ServiceLocator : CompositionContainer
    {
        #region Constructors and Destructors

        /// <summary>
        ///   Initializes static members of the <see cref = "ServiceLocator" /> class.
        /// </summary>
        static ServiceLocator()
        {
            Instance = new ServiceLocator();
        }

        /// <summary>
        ///   Initializes a new instance of the <see cref = "ServiceLocator" /> class.
        /// </summary>
        public ServiceLocator()
                : base(new AssemblyCatalog(typeof(ServiceLocator).Assembly))
        {
        }

        #endregion

        #region Public Properties

        /// <summary>
        ///   Gets Instance.
        /// </summary>
        public static ServiceLocator Instance { get; private set; }

        #endregion
    }
}